﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using System.ComponentModel;


namespace OpenESSOConfigurator.BusinessLayer.Atoms
{
    [Serializable]
    public class PasswordPolicy
    {
        private String _id;
        private String _name;
        private String _version;
        private String _description;

        private Lenght _lenght;
        private UpperCase _upperCase;
        private LowerCase _lowerCase;
        private Numeric _numeric;
        private SpecialChar _specialChar;
        private PreviousPassword _previousPassword;
        private Sequence _sequence;
        private Dictionary _dictionary;

        public PasswordPolicy()
        {
        }

        [XmlAttribute("id")]
        public String Id
        {
            get { return _id; }
            set { _id = value; }
        }
        [XmlAttribute("name")]
        public String Name
        {
            get { return _name; }
            set { _name = value; }
        }
        [XmlAttribute("version")]
        public String Version
        {
            get { return _version; }
            set { _version = value; }
        }
        public String Description
        {
            get { return _description; }
            set { _description = value; }
        }
        public Lenght Lenght
        {
            get { return _lenght; }
            set { _lenght = value; }
        }
        public UpperCase UpperCase
        {
            get { return _upperCase; }
            set { _upperCase = value; }
        }
        public LowerCase LowerCase
        {
            get { return _lowerCase; }
            set { _lowerCase = value; }
        }
        public Numeric Numeric
        {
            get { return _numeric; }
            set { _numeric = value; }
        }
        public SpecialChar SpecialChar
        {
            get { return _specialChar; }
            set { _specialChar = value; }
        }
        public PreviousPassword PreviousPassword
        {
            get { return _previousPassword; }
            set { _previousPassword = value; }
        }
        public Sequence Sequence
        {
            get { return _sequence; }
            set { _sequence = value; }
        }
        public Dictionary Dictionary
        {
            get { return _dictionary; }
            set { _dictionary = value; }
        }
        
    }
}
